package middleware

import (
	"bysy-gin/handler"
	"bysy-gin/libs/apiauth"
	"bysy-gin/libs/token"
	"fmt"
	"github.com/gin-gonic/gin"
)

func AuthMiddlerware() gin.HandlerFunc {
	return func(c *gin.Context) {
		/*
			自己定义一个url参数  api = 1
			如果api=1那就进行api授权认证
			否则就进行token认证
		*/
		//api授权认证
		if !apiauth.ApiAuth(c) {
			handler.SendResponse(c, 1008, "授权认证失败!", nil)
			c.Abort()
			return
		}
		c.Next()

		//token认证
		//if content, err := token.ValidataToken(c); err != nil {
		//	fmt.Println(err)
		//	//handler.SendResponse(c, 1008, "token验证失败!", content)
		//	handler.SendRsp(c, errno.TokenValidErr, content)
		//	c.Abort()
		//	return
		//}
		////认证成功做跳转
		//c.Next()
	}
}

// HandlerFunc  这种类型函数都可以作为中间件
func AuthToken(c *gin.Context) {
	if content, err := token.ValidataToken(c); err != nil {
		fmt.Println(err)
		handler.SendResponse(c, 1008, "token验证失败!", content)
		c.Abort()
		return
	}
	//认证成功做跳转
	c.Next()
}
